home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2006 May / PCWMAY06.iso / Software / Resources / PaperCut Quota 6.1 / pc-setup.exe / {app} / WebAdmin / includes / PCCommon.inc < prev    next >
Text File  |  2006-01-02  |  17KB  |  551 lines

  1. <% Option Explicit
  2.     ' (c) Copyright 1999-2004 PaperCut Software Pty. Ltd.
  3.  
  4.     Response.Buffer = True
  5.     Response.CacheControl = "No-cache"
  6.  
  7.     Dim gstrPageTitle
  8.     Dim gstrProduct
  9.     Dim gstrLoggedInUser
  10.     Dim gstrErrorMessage
  11.     Dim gblnHasChargeBack
  12.     Dim gblnHasNetCharging
  13.     Dim gblnIsLoggedIn
  14.     Dim gblnIsAdmin
  15.     Dim gblnIsAdminOnlyPage
  16.  
  17.     Dim gblnShowUserPrintLog
  18.     Dim gblnShowUserNetLog
  19.     Dim gblnShowUserTransactionLog
  20.     Dim gblnShowTransferOption
  21.     Dim gblnShowUserNetUsageTotals
  22.     Dim gblnEnableTopUpCards
  23.     Dim gblnAlwaysShowAdminLink
  24.     Dim gblnAllowAnonymousAccess
  25.     Dim gblnShowChargeRates
  26.  
  27.     ' setup defaults
  28.     gblnShowUserPrintLog = True
  29.     gblnShowUserNetLog = True
  30.     gblnShowUserTransactionLog = True
  31.     gblnShowTransferOption = True
  32.     gblnShowUserNetUsageTotals = False
  33.     gblnEnableTopUpCards = True
  34.     gblnAlwaysShowAdminLink = True
  35.     gblnAllowAnonymousAccess = False
  36.     gblnShowChargeRates = True ' Default to showing charge rates
  37.  
  38.     Dim garrChargeTypes
  39.     Dim gblnShowCurrency
  40.     Dim gblnRegistered
  41.     Dim gblnTrialExpired
  42.     Dim gstrUnregisteredMsg
  43.     Dim gstrLicensedTo
  44.     Dim gstrVersion
  45.  
  46.     Dim gobjLangText
  47.     Dim garrValidLangs
  48.     Dim gstrActiveLang
  49.  
  50.     Dim gstrScriptName
  51.     Set gobjLangText = Server.CreateObject("Scripting.Dictionary")
  52.  
  53.  
  54.     ' TRANSLATORS: Modify this line to include all languages that the web tools have been translated into
  55.     garrValidLangs = Array("en", "es", "it", "fr", "ko", "nl", "zh-hk", "zh-tw", "zh-sg", "zh-cn", "zh", "de", "ja")
  56.  
  57.  
  58.     ' Detect language (defaults to "en" if we don't have another match)
  59.     AutoDetectLanguage()
  60.  
  61.     'Include the lang files before we need them
  62. %>
  63. <!-- #include file="lang_en.inc" -->
  64. <!-- #include file="Config.inc" -->
  65.  
  66.  
  67. <% ' TRANSLATORS: Insert your language file below %>
  68. <!-- #include file="lang_it.inc" -->
  69. <!-- #include file="lang_es.inc" -->
  70. <!-- #include file="lang_fr.inc" -->
  71. <!-- #include file="lang_de.inc" -->
  72. <!-- #include file="lang_ko.inc" -->
  73. <!-- #include file="lang_nl.inc" -->
  74. <!-- #include file="lang_zh-hk.inc" -->
  75. <!-- #include file="lang_zh-cn.inc" -->
  76. <!-- #include file="lang_ja.inc" -->
  77.  
  78.  
  79.  
  80. <%
  81.     gstrScriptName = Request.ServerVariables("SCRIPT_NAME")
  82.     If InStr(1, gstrScriptName, "/Admin.asp", vbTextCompare) > 0 Or _
  83.             InStr(1, gstrScriptName, "/UserList.asp", vbTextCompare) > 0 Or _
  84.             InStr(1, gstrScriptName, "/LogReport.asp", vbTextCompare) > 0 Or _
  85.             InStr(1, gstrScriptName, "/OtherCharges.asp", vbTextCompare) > 0 Or _
  86.             InStr(1, gstrScriptName, "/AccountList.asp", vbTextCompare) > 0 Or _
  87.             InStr(1, gstrScriptName, "/AccountDetails.asp", vbTextCompare) > 0 Then
  88.  
  89.         ' Only Administrators can run the above these files
  90.         gblnIsAdminOnlyPage = True
  91.         Session("IsAdmin") = True
  92.  
  93.     End If
  94.  
  95.     Sub SetActiveLanguage(strLang)
  96.         gstrActiveLang = Trim(LCase(strLang))
  97.     End Sub
  98.  
  99.     Function IsActiveLanguage(strLang)
  100.         IsActiveLanguage = (gstrActiveLang = Trim(LCase(strLang))) or (Trim(LCase(strLang)) = "en")
  101.     End Function
  102.  
  103.     Sub SetText(strName, strValue)
  104.         gobjLangText(strName) = strValue '& " (T)"
  105.     End Sub
  106.  
  107.     Sub AutoDetectLanguage()
  108.         On Error Resume Next
  109.         Dim strLang
  110.         Dim arrAccept
  111.         Dim i,j
  112.         strLang = "en"    ' the default
  113.         arrAccept = Split(Replace(Request("HTTP_ACCEPT_LANGUAGE"), ";", ","), ",")
  114.         For i = UBound(arrAccept) to 0 Step -1
  115.             If Left(arrAccept(i), 2) <> "q=" Then
  116.                 For j = 0 to UBound(garrValidLangs)
  117.                     If LCase(Left(arrAccept(i), Len(garrValidLangs(j)))) = LCase(garrValidLangs(j)) Then
  118.                         strLang = garrValidLangs(j)
  119.                     End If
  120.                 Next
  121.             End if
  122.         Next
  123.         gstrActiveLang = strLang
  124.     End Sub
  125.  
  126.     Function IsPreferredLanguage()
  127.         If LCase(Left(Request("HTTP_ACCEPT_LANGUAGE"), Len(gstrActiveLang))) = gstrActiveLang Then
  128.             IsPreferredLanguage = True
  129.         Else
  130.             IsPreferredLanguage = False
  131.         End If
  132.     End Function
  133.  
  134.     Function HTMLEncodeIfRequired(strInput)
  135.         Dim strCharset
  136.         strCharset = GetTextNoEncode("charset")
  137.         
  138.         If strCharset <> "big5" and strCharset <> "euc-kr" and strCharset <> "Shift_JIS" Then
  139.             HTMLEncodeIfRequired = Server.HTMLEncode(strInput)
  140.         Else
  141.             HTMLEncodeIfRequired = strInput
  142.         End If
  143.     End Function
  144.  
  145.     Function GetText(strName)
  146.         GetText = HTMLEncodeIfRequired(GetTextNoEncode(strName))
  147.     End Function
  148.  
  149.     Function GetTextNoEncode(strName)
  150.         If gobjLangText.Exists(strName) Then
  151.             GetTextNoEncode = gobjLangText(strName)
  152.         Else
  153.             GetTextNoEncode = "'" & strName & "' untranslated"
  154.         End If
  155.     End Function
  156.  
  157.     Function GetTextReplace(strName, arrReplace)
  158.         If gobjLangText.Exists(strName) Then
  159.             Dim s, i
  160.             s = gobjLangText(strName)
  161.  
  162.             For i = 0 to UBound(arrReplace)
  163.                 s = Replace(s, "%" & i & "%", arrReplace(i))
  164.             Next
  165.             GetTextReplace = HTMLEncodeIfRequired(s)
  166.         Else
  167.             GetTextReplace = "'" & strName & "' untranslated"
  168.         End If
  169.     End Function
  170.  
  171.     Function HasText(strName)
  172.         HasText = gobjLangText.Exists(strName)
  173.     End Function
  174.  
  175.     ' START RESULT SET NAVIGATION
  176.     Const mintRECORDS_PER_PAGE = 50
  177.     Const mintPAGES_PER_NAV_BLOCK = 10
  178.  
  179.     Function GetCurrentPage(intCurrentRecord)
  180.         GetCurrentPage = ((intCurrentRecord-1) \ mintRECORDS_PER_PAGE) + 1
  181.     End Function
  182.  
  183.     Function GetStartRecord(intPage, intTotalRecords)
  184.         GetStartRecord = ((intPage-1) * mintRECORDS_PER_PAGE) + 1
  185.  
  186.         if (GetStartRecord > intTotalRecords) then
  187.             GetStartRecord = intTotalRecords
  188.         end if
  189.     End Function
  190.  
  191.     Function GetTotalPages(intTotalRecords)
  192.         GetTotalPages = ((intTotalRecords-1) \ mintRECORDS_PER_PAGE) + 1
  193.     End Function
  194.  
  195.     Function Max(intA, intB)
  196.         if (intA >= intB) then
  197.             Max = intA
  198.         Else
  199.             Max = intB
  200.         End if
  201.     End Function
  202.  
  203.     Function Min(intA, intB)
  204.         if (intA <= intB) then
  205.             Min = intA
  206.         Else
  207.             Min = intB
  208.         End if
  209.     End Function
  210.  
  211.     Sub DisplayPrintJobStatus(strStandardStatus, strUserName, curAmount, lngJobEntryID, bIsRefunded, bIsCancelled, bIsDenied)
  212.         ' Sub out any english words if not english
  213.         If Not gstrActiveLang = "en" Then
  214.             strStandardStatus = Replace(strStandardStatus, "Printed", GetText("Printed"))
  215.             strStandardStatus = Replace(strStandardStatus, "Denied", GetText("Denied"))
  216.             strStandardStatus = Replace(strStandardStatus, "Cancelled", GetText("Cancelled"))
  217.             strStandardStatus = Replace(strStandardStatus, "Refunded", GetText("Refunded"))
  218.         End If
  219.         if Not gblnIsAdmin Then
  220.             ' Just write out standard status as we are a standard user.
  221.             Response.Write strStandardStatus
  222.         Else
  223.             If bIsCancelled And Not bIsRefunded Then
  224.                 Response.Write "<b>"
  225.             End If
  226.             Response.Write strStandardStatus
  227.             If curAmount > 0 and Not (bIsRefunded or bIsDenied) Then
  228.                 Response.Write " " & "[<a href=""javascript:decisionLink('"
  229.                 Dim strConfirmMsg
  230.                 strConfirmMsg = GetText("RefundConfirm")
  231.                 strConfirmMsg = Replace(strConfirmMsg, "%0%", strUserName)
  232.                 strConfirmMsg = Replace(strConfirmMsg, "%1%", FormatCredit(curAmount))
  233.                 Response.Write strConfirmMsg
  234.                 Response.Write "', 'UserList.asp?cmd=refund"
  235.                 Response.Write "&strUserName=" & Server.UrlEncode(strUserName)
  236.                 Response.Write "&curAmount=" & curAmount
  237.                 Response.Write "&lngJobEntryID=" & lngJobEntryID
  238.                 Response.Write "')"">" & GetText("Refund") & "</a>]"
  239.             End If
  240.             If bIsCancelled And  Not bIsRefunded Then
  241.                 Response.Write "</b>"
  242.             End If
  243.         End If
  244.     End Sub
  245.  
  246.     Sub DisplayPageNavigation(strURL, intStartRecord, intTotalRecords)
  247.         Dim intTotalPages
  248.         Dim intCurrentPage
  249.         Dim intPage
  250.         Dim intStartPage
  251.         Dim intEndPage
  252.         Dim intTotalNavBlocks
  253.         Dim intCurrentNavBlock
  254.  
  255.         intTotalPages = GetTotalPages(intTotalRecords)
  256.         intCurrentPage = GetCurrentPage(intStartRecord)
  257.         intTotalNavBlocks = ((intTotalPages-1) \ mintPAGES_PER_NAV_BLOCK) + 1
  258.         intCurrentNavBlock = ((intCurrentPage-1) \ mintPAGES_PER_NAV_BLOCK) + 1
  259.         intStartPage = Max(1, (intCurrentNavBlock-1) * mintPAGES_PER_NAV_BLOCK + 1)
  260.         intEndPage = Min(intTotalPages, (intCurrentNavBlock) * mintPAGES_PER_NAV_BLOCK)
  261.  
  262.  
  263.         'intStartPage = Max(1, intCurrentPage / (intTotalPages \ mintMAX_NAV_PAGES)
  264.         Response.Write GetText("Pages") & ": "
  265.  
  266.         If Instr(strURL, "javascript:") > 0 Then
  267.             ' Do not touch....
  268.         ElseIf Instr(strURL, "?") <= 0 Then
  269.             strURL = strURL & "?intStartRecord=%intStartRecord%"
  270.         ElseIf Right(strURL, 1) <> "&" Then
  271.             strURL = strURL & "&intStartRecord=%intStartRecord%"
  272.         End If
  273.  
  274.  
  275.         If (intCurrentNavBlock > 1) then
  276.             Response.Write BuildNavLink(strURL, "<<" & GetText("Previous"), GetStartRecord(intCurrentPage-mintPAGES_PER_NAV_BLOCK, intTotalRecords)) & " "
  277.             Response.Write BuildNavLink(strURL, "1", 1) & " ... "
  278.             'Response.Write "<A HREF=""" & BuildNavURL(strURL, GetStartRecord(intCurrentPage-mintPAGES_PER_NAV_BLOCK, intTotalRecords))  & """><<" & GetText("Previous") & "</A> "
  279.         End If
  280.  
  281.         for intPage = intStartPage to intEndPage
  282.             if (intPage = intCurrentPage) then
  283.                 Response.Write "<B>" & intPage & "</B> "
  284.             else
  285.                 Response.Write BuildNavLink(strURL, CStr(intPage), GetStartRecord(intPage, intTotalRecords)) & " "
  286.                 'Response.Write "<A HREF=""" & BuildNavURL(strURL, GetStartRecord(intPage, intTotalRecords)) & """>" & intPage & "</A> "
  287.             end if
  288.         Next
  289.  
  290.         If (intCurrentNavBlock < intTotalNavBlocks) then
  291.             Response.Write " ... " & BuildNavLink(strURL, CStr(intTotalPages), (intTotalPages-1) * mintRECORDS_PER_PAGE + 1) & " "
  292.             Response.Write BuildNavLink(strURL, GetText("Next") & ">>", GetStartRecord(intCurrentPage+mintPAGES_PER_NAV_BLOCK, intTotalRecords)) & " "
  293.             'Response.Write "<A HREF=""" & BuildNavURL(strURL, GetStartRecord(intCurrentPage+mintPAGES_PER_NAV_BLOCK, intTotalRecords)) & """>" & GetText("Next") & ">></A> "
  294.         End If
  295.  
  296.         'Response.Write "<BR>Total Records: " & intTotalRecords
  297.         'Response.Write "<BR>Total Pages: " & intTotalPages
  298.         'Response.Write "<BR>Current Page: " & intCurrentPage
  299.         'Response.Write "<BR>Total Nav Blocks: " & intTotalNavBlocks
  300.         'Response.Write "<BR>Current Nav Block: " & intCurrentNavBlock
  301.         'Response.Write "<BR>Start Page: " & intStartPage
  302.         'Response.Write "<BR>End Page: " & intEndPage
  303.  
  304.     End Sub
  305.  
  306.     Function BuildNavLink(strURLTemplate, strLinkText, intStartRecord)
  307.         BuildNavLink = "<A HREF=""" & Replace(strURLTemplate, "%intStartRecord%", intStartRecord) & """>" & strLinkText & "</A>"
  308.     End Function
  309.  
  310.     ' END RESULT SET NAVIGATION
  311.  
  312.     Function FormatCredit(creditValue)
  313.         If gblnShowCurrency Then
  314.             FormatCredit = FormatCurrency(creditValue)
  315.         Else
  316.             FormatCredit = FormatNumber(creditValue)
  317.         End If
  318.     End Function
  319.  
  320.     function eschtml(s)
  321.         dim h
  322.         h = s
  323.         h = replace(h, "&", "&")
  324.         h = replace(h, "<", "<")
  325.         h = replace(h, ">", ">")
  326.         h = replace(h, """", """)
  327.         eschtml = h
  328.     end function
  329.  
  330.     Function StripDomainFromUser(strUser)
  331.         Dim s
  332.         s = Replace(strUser, "/", "\")
  333.         Dim pos
  334.         pos = InStr(1, s, "\", vbBinaryCompare)
  335.         if pos > 0 Then
  336.             s = Trim(Mid(s, pos + 1, 255))
  337.         End If
  338.  
  339.         StripDomainFromUser = s
  340.     End Function
  341.  
  342.     Sub RedirectWithMessage(strURL, strMsg)
  343.         Dim s
  344.  
  345.         If InStr(strURL, "?") > 0 Then
  346.             s = strURL & "&strMessage=" & Server.URLEncode(strMsg)
  347.         Else
  348.             s = strURL & "?strMessage=" & Server.URLEncode(strMsg)
  349.         End If
  350.  
  351.         Response.Redirect s
  352.     End Sub
  353.  
  354.     Sub WriteErrorMessage(strMessage)
  355.         Response.Write "<DIV class=""webAdminMessage"">" & strMessage & "</DIV>"
  356.     End Sub
  357.  
  358.     Function RowClassHelper(intCount)
  359.         If intCount mod 2 = 0 then
  360.             RowClassHelper = "evenRow"
  361.         else
  362.             RowClassHelper = "oddRow"
  363.         end if
  364.     End Function
  365.  
  366.     Sub WriteUserAdminLinks(strUser)
  367.         If strUser = "" Then
  368.             Exit Sub
  369.         End If
  370.  
  371.         Dim strUserEncoded
  372.         Dim s
  373.         strUserEncoded = Server.URLEncode(strUser)
  374.         Response.Write "<DIV style=""padding-bottom: 10px; padding-top: 10px;"">"
  375.  
  376.         If gblnIsAdmin and InStr(1, Request.ServerVariables("SCRIPT_NAME"), "userlist.asp", vbTextCompare) = 0 Then
  377.             Response.Write "<a href=""UserList.asp?strUserName=" & strUserEncoded & """>" & GetTextReplace("ModifyUserCredit", Array(strUser)) & ".</a> "
  378.         End If
  379.  
  380.         If gblnIsAdmin Or gblnShowUserPrintLog Then
  381.             s = "<a href=""Log.asp?strUserName=" & strUserEncoded & """>" & GetText("PrintJobs") & "</a>"
  382.         End If
  383.  
  384.         If gblnHasNetCharging and (gblnIsAdmin Or gblnShowUserNetLog) Then
  385.             s = s & ", <a href=""NetLog.asp?strUserName=" & strUserEncoded & """>" & GetText("NetUsage") & "</a>"
  386.         End If
  387.  
  388.         If gblnIsAdmin Or gblnShowUserTransactionLog Then
  389.             s = s & ", <a href=""TransLog.asp?strUserName=" & strUserEncoded & """>" & GetText("TransactionHistory") & "</a>"
  390.         End If
  391.  
  392.         If gblnIsAdmin Then
  393.             s = s & ", <a href=""LogReport.asp?txtUsername=" & strUserEncoded & """>" & GetText("AdhocReports") & "</a>"
  394.         End If
  395.  
  396.         If s <> "" Then
  397.             Response.Write GetTextReplace("ViewUserLogs", Array(strUser)) & ": " & s & "."
  398.         End If
  399.  
  400.         Response.Write "</DIV>"
  401.     End Sub
  402.  
  403.     Sub ExportToExcel(strFileName, oRS, blnTranslateFieldNames)
  404.         Dim i
  405.         Response.Clear
  406.         Response.CacheControl = ""
  407.         Response.ContentType = "application/vnd.ms-excel"
  408.         Response.AddHeader "content-disposition","attachment; filename=" & strFileName & ".xls"
  409.         Response.Write "<table border=""1"">"
  410.  
  411.         Response.Write "<tr>"
  412.         For i = 0 to oRS.Fields.Count - 1
  413.             If blnTranslateFieldNames Then
  414.                 Response.Write FormatExcelValue(GetText(oRS.Fields(i).Name))
  415.             Else
  416.                 Response.Write FormatExcelValue(oRS.Fields(i).Name)
  417.             End If
  418.         Next
  419.         Response.Write "</tr>"
  420.  
  421.         Do While Not oRS.EOF
  422.             Response.Write "<tr>"
  423.             For i = 0 to oRS.Fields.Count - 1
  424.                 Response.Write FormatExcelValue(oRS.Fields(i).Value)
  425.             Next
  426.             Response.Write "</tr>"
  427.             oRS.MoveNext
  428.         Loop
  429.         Response.Write "</table>"
  430.     End Sub
  431.  
  432.     Function FormatExcelValue(sVal)
  433.         If IsNull(sVal) Then
  434.             FormatExcelValue = "<td></td>"
  435.         Else
  436.             FormatExcelValue = "<td>" & Server.HTMLEncode(sVal) & "</td>"
  437.         End If
  438.     End Function
  439.  
  440.     Function GetVersionCheckURL()
  441.         Dim objS
  442.         Set objS = Server.createobject("PCWebAdmin.PCSettings")
  443.         GetVersionCheckURL = objS.WebVersionCheckURL
  444.         Set objS = Nothing
  445.     End Function
  446.  
  447.  
  448.     ' Load settings from the settings object
  449.     Dim objSettings
  450.     Set objSettings = Server.createobject("PCWebAdmin.PCSettings")
  451.     gblnHasChargeBack = objSettings.HasEnterprise
  452.     gblnHasNetCharging = objSettings.HasNetCharging
  453.     gstrVersion = objSettings.PaperCutVersion
  454.     gblnIsAdmin = Session("IsAdmin")
  455.     gblnShowCurrency = objSettings.WebShowCurrency
  456.  
  457.     ' Set default page titles
  458.     If gblnHasChargeBack then
  459.         gstrProduct = "PaperCut Enterprise"
  460.     Else
  461.         gstrProduct = "PaperCut Quota"
  462.     End If
  463.  
  464.     If gblnHasChargeBack Then
  465.         ' If you have chargeback, then can't have net/topup, transfer options or charge rates
  466.         gblnShowUserNetLog = False
  467.         gblnShowTransferOption = False
  468.         gblnEnableTopUpCards = False
  469.         gblnShowChargeRates = False
  470.     End If
  471.  
  472.     gblnRegistered = objSettings.IsRegistered
  473.     gblnTrialExpired = objSettings.TrialExpired
  474.  
  475.     If gblnRegistered Then
  476.         gstrUnregisteredMsg = ""
  477.         gstrLicensedTo = GetText("LicensedTo") & ": " & objSettings.RegistrationName & "."
  478.     Else
  479.         If gblnTrialExpired Then
  480.             gstrUnregisteredMsg = GetText("PaperCutTrial") & ". " & GetText("TrialExpired") & "."
  481.         Else
  482.             gstrUnregisteredMsg = GetText("PaperCutTrial") & ". " & GetTextReplace("TrialDaysRemaining", Array(objSettings.TrialDaysRemaining)) & "."
  483.         End If
  484.         gstrLicensedTo = gstrUnregisteredMsg
  485.     End If
  486.     Set objSettings = Nothing
  487.  
  488.  
  489.     gstrPageTitle = GetText("WebTools")
  490.  
  491.     If Session("Username") = "" Then
  492.         ' First try the IIS authentication details
  493.         gstrLoggedInUser = StripDomainFromUser(Request.ServerVariables("LOGON_USER"))
  494.  
  495.         If gblnAllowAnonymousAccess and gstrLoggedInUser = "" and Not gblnIsAdminOnlyPage Then
  496.             ' We're allowed to do anon login, and we have no IIS authentication details
  497.             ' And this is not an admin page (never allow admin pages to be accessed with anon access)
  498.  
  499.             gstrLoggedInUser = Session("AnonUsername")
  500.             if gstrLoggedInUser = "" And InStr(1, gstrScriptName, "/Logon.asp", vbTextCompare) = 0 Then
  501.                 ' Not logged in and not the logon page, so redirect to the logon page
  502.                 Response.Redirect "Logon.asp"
  503.             End If
  504.  
  505.         End If
  506.  
  507.         ' Save the logged on user in the session
  508.         Session("Username") = gstrLoggedInUser
  509.     Else
  510.         ' The user logged in previously
  511.  
  512.         gstrLoggedInUser = StripDomainFromUser(Request.ServerVariables("LOGON_USER"))
  513.         If gstrLoggedInUser <> "" Then
  514.             ' The IIS authentication value should always override any anonymous login
  515.             Session("AnonUsername") = ""
  516.             Session("Username") = gstrLoggedInUser
  517.         Else
  518.             ' Use username in the session
  519.             gstrLoggedInUser = Session("Username")
  520.         End If
  521.  
  522.     End If
  523.  
  524.     If gstrLoggedInUser = "" Then
  525.         ' Not logged in
  526.         gblnIsLoggedIn = False
  527.         gstrLoggedInUser = GetText("NotLoggedIn")
  528.     Else
  529.         gblnIsLoggedIn = True
  530.     End If
  531.     gstrErrorMessage = Trim(Request("strMessage"))
  532.  
  533.  
  534.     If Session("AnonUsername") <> "" Then
  535.         ' Anon login
  536.  
  537.         ' Do not allow access to the transfer page
  538.         gblnShowTransferOption = False
  539.  
  540.         If gblnIsAdminOnlyPage Then
  541.             ' Never allow anonymous users to access admin pages
  542.             Session("IsAdmin") = False
  543.             gblnIsAdmin = False
  544.             WriteErrorMessage GetText("ErrorAnonAdminAccess")
  545.             Response.End
  546.         End If
  547.     End If
  548.  
  549.  
  550. %>
  551.